#ifndef SkLumaColorFilterOHOS_DEFINED
#define SkLumaColorFilterOHOS_DEFINED
#include "src/effects/colorfilters/SkColorFilterBase.h"

class SkLumaColorFilterOHOS final : public SkColorFilterBase {
public:
    SkLumaColorFilterOHOS();
    ~SkLumaColorFilterOHOS();

    bool appendStages(const SkStageRec& rec, bool) const override;

    SkPMColor4f onFilterColor4f(const SkPMColor4f& color, SkColorSpace* dstCS) const override;

    void flatten(SkWriteBuffer& buffer) const override;

    SkColorFilterBase::Type type() const override { return SkColorFilterBase::Type::kRuntime; }

private:
    friend void ::SkRegisterComposeColorFilterFlattenable();
    SK_FLATTENABLE_HOOKS(SkLumaColorFilterOHOS)
};
#endif //SkLumaColorFilterOHOS_DEFINED
